package variable

import (
	"flag"
	ut "github.com/go-playground/universal-translator"
	"go.uber.org/zap"
	"gorm.io/gorm"
	"log"
	"os"
)

var (
	ROOT_PATH string        //系统路径
	Env       string        //环境变量
	Port      string        //http服务监听的端口
	SqlDB     map[string]*gorm.DB      //全局的gorm sqlDB,map结构,用来存放多个bd实例
	ZapLog    *zap.Logger   //全局日志
	Trans     ut.Translator //全局gin的参数验证翻译器
)

//初始化
func init() {
	if curPath, err := os.Getwd(); err == nil {
		ROOT_PATH = curPath
	} else {
		log.Fatal("获取系统路径失败")
	}
	_, err := os.ReadFile(ROOT_PATH  + "/config/config.ini")
	if err != nil {
		log.Fatal("配置文件不存在",ROOT_PATH  + "/config/config.ini")
	}
	flag.StringVar(&Env, "env", "online", "环境变量")  //默认生产环境
	flag.StringVar(&Port, "port", "8801", "监听的端口") //默认生产环境
	flag.Parse()

	//获取系统环境变量 - 系统环境变量存在时,以系统的为主
	env := os.Getenv("ENV")
	if env != "" {
		Env = env
	}

}
